package com.hzw.saas.api.hpc.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzw.saas.common.util.constants.PatternConsts;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * 超算中心帐号信息
 *
 * @author zzl
 * @since 02/04/2021
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "超算中心账户信息")
public class HpcAccountInfoBo {

    /**
     * ID
     */
    @ApiModelProperty(value = "HPC-ACCOUNT-USER-ID", position = 1)
    private String accountId;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID", position = 2)
    private String userId;


    @ApiModelProperty(value = "超算用户名", position = 3)
    private String hpcAccount;

    /**
     * 机时总额
     */
    @ApiModelProperty(value = "机时总额+增值核时", position = 5)
    private Double hpcAmount;

    /**
     * 机时余额
     */
    @ApiModelProperty(value = "机时余额", position = 6)
    private Double hpcBalance;

    /**
     * 注册时间
     */
    @ApiModelProperty(value = "注册时间", position = 7)
    private Date registerDate;

    /**
     * 到期时间
     */
    @ApiModelProperty(value = "到期时间", position = 9)
    @JsonFormat(pattern = PatternConsts.NORM_DATE_PATTERN)
    private Date expireDate;

    /**
     * 账户状态，1：正常|0：冻结
     */
    @ApiModelProperty(value = "账户状态，1：正常|0：冻结", position = 10)
    private Integer status;

    @ApiModelProperty(value = "账户类型，1：主|0：共享", position = 11)
    private Integer isMain;

    @ApiModelProperty(value = "无限算力，1-无限|0-有限", position = 11)
    private Integer isInfinite;

    @ApiModelProperty(value = "共享账户过期时间", position = 12)
    @JsonFormat(pattern = PatternConsts.NORM_DATE_PATTERN)
    private Date subExpireDate;

    @ApiModelProperty(value = "超算类型 DQ01 并行,DN02 青云", position = 13)
    private String providerCode;
}
